package com.nova.edc.service.system;

import com.nova.edc.model.system.Login;
import com.nova.frame.dao.pager.Page;
import com.nova.frame.dao.pager.PageList;

import java.util.List;

public interface LoginService {

    Login getById(int id);

    Login getLogin(Login login);

    // 获取用户信息总数量
    int getExtCount();

    // 分页获取用户添加的登录信息
    PageList<Login> findLoginPageList(Login login, Page page,
                                      String sidx, String sord, Login sessionLogin);

    // 分页获取用户下级代理商数据，该数据只能查看不可被修改
    PageList<Login> findAgentLoginPageList(int loginId, Page page,
                                           String sidx, String sord, String username);

    // 插入一条新数据
    Login insert(Login login);

    // 更新数据
    int update(Login login);

    // 删除数据
    int deleteById(int id);

    // 根据用户的用户名和是否含有id（即确定该验证是在添加数据时验证还是更新时验证），返回为真时表示数据库不存在该数据
    boolean isExistLogin(String username, Integer id);

    // 根据用户的用户名和密码，返回为真时表示数据库存在该数据
    Login isExistLogin(String username, String password);

    // 实体类去空
    void trimLogin(Login login);

    void emptyCompanyByid(Integer id);

    List<Login> findByRoleId(Integer id);
}
